Budapesti Műszaki és Gazdaságtudományi Egyetem - BME -- Távközlési és Médiainformatikai Tanszék - TMIT BME - Távközlési és Mesterséges Intelligencia Tanszék - TMIT
 
 
| Témakiírások | | | | | IW  
 
 
Önálló labor
Kiírt témák

Forráskód értelmezés AI/ML segítségével (Code comprehension using AI/ML)

Ipari partner: Ericsson Magyarország

A fejlesztési projekthez csatlakozó programozók számára az egyik legnehezebb feladat az ismeretlen örökölt kódbázis megismerése. Ez jellemzően számos információforrás áttekintését jelenti, mint például a forráskód, a soron belüli megjegyzések, az egység/integrációs tesztek, a dokumentáció, a hibajegyek, a Git repo előzmények, stb. A visszakereséssel kiegészített generálás (Retrieval augmented generation, RAG) egy AI/ML-asszisztens módszertan, amely segítheti ezt a folyamatot: a programozó természetes nyelven tehet fel kérdéseket a kódbázissal kapcsolatban, és egy kódasszisztens természetes nyelven válaszol. A RAG alapja egy beágyazási modell, amely nagydimenziós vektorok segítségével képes reprezentálni a különböző adatdarabokat (kód, dokumentáció stb.), egy vektoradatbázis, amely a vektorok alapján karbantartja és keresi az adatokkal kapcsolatos tartalmakat, valamint egy nagy nyelvi modell (LLM), amely a végső választ generálja. A feladat a RAG megértése, a kapcsolódó szoftvereszközök tanulmányozása (beágyazási modellek, mint például a CodeBERT vagy a code2vec, vektoradatbázisok, mint a Weaviate, és LLM-ek, mint a llama), és egy egyszerű kódasszisztens létrehozása, amely képes megválaszolni egy kódprojekthez kapcsolódó alapvető kérdéseket. A kiemelkedő teljesítményt nyújtó hallgatókat felkérjük, hogy csatlakozzanak a BME-Ericsson kódmegértéssel kapcsolatos kutatási együttműködéséhez.

One of the most difficult tasks for programmers joining a development project is to get familiar with an unknown legacy codebase. This typically involves reviewing several information sources, like the source code, inline comments, unit/integration tests, documentation, bug reports, Git history, etc. Retrieval augmented generation (RAG) is an AI/ML assisted methodology that can help this process: the programmer can ask natural language questions related to the codebase and a code assistant provides a natural language answer. RAG is based on an embedding model that can represent different chunks of data (code, documentation, etc) using high-dimensional vectors, a vector database to maintain and search data related content based on the vectors, and a large-language-model (LLM) to generate the final answer. The task is to understand RAG, study the related software tools (embedding models like like CodeBERT or code2vec, vector databases like Weaviate, and LLMs like llama), and create a simple code assistant that can answer basic questions related to a code project. Outstanding students will be asked to join a BME-Ericsson collaboration on code comprehension.

Kulcsszavak: AI,code comprehension,RAG,LLM
Témavezető: Rétvári Gábor
Oktatók: Lévai Tamás.
A következő tantárgyakhoz javasolt:
 vitma387 (Önlab, IVIR szakirány)
 vitma415 (Szakdolgozat)
 vitma416 (Szakdolgozat)
 vitma417 (Szakdolgozat, IVIR szakirány)
 vitmal01 (Info, BSc, Önálló laboratórium)
 vitmm855 (Info, MSc, Önálló laboratórium 2, Hálózatok és szolgáltatások)
 vitmm861 (Info, MSc, Önálló laboratórium 2, Médiainformatika)
 vitmm905 (Diplomatervezés 1. (Info, Hálózatok és szolgáltatások szakirány))
 vitmm911 (Diplomatervezés 1. (Info, Médiainformatika szakirány))
 vitmml10 (Info, MSc, Önálló laboratórium 1)
 vitmml11 (Info, MSc, Önálló laboratórium 2)
 vitmm807 (Vill., MSc, Önálló laboratórium 1, Infokommunikációs rendszerek)
 vitmm857 (Vill., MSc, Önálló laboratórium 2, Infokommunikációs rendszerek)
 vitmm907 (Diplomatervezés 1. (Vill. Infokommunikációs rendszerek szakirány))
 vitmml02 (Vill,MSc,Önlab.1, Okos város,Vez.nélküli rendsz. és alk.ok,Multimédia rendsz. és szolg.,Optikai távközlés (VITMML02))
 vitmml03 (Vill,MSc,Önlab.2, Okos város,Vez.nélküli rendsz. és alk.ok,Multimédia rendsz. és szolg.,Optikai távközlés (VITMML03))
 vieum821 (Önálló munka 1)
 vieum871 (Önálló munka 2)
 vieum921 (Diplomatervezés 1 (Egészségügyi mérnök))
 vitmm376 (Projekt labor 1)
 vitmm377 (Diplomatervezés 1 [analytics])
 vitmm379 (Önálló laboratórium 1)
 vitmm380 (Önálló laboratórium 2)
 vitmm381 (Diplomatervezés 1)
 vitmm382 (Diplomatervezés 2)
 vitmm388 (Projekt labor 2)
QR:    (mi is az?)
 
 katt. a nagyításhoz
 
Kedvencekbe felvesz   Jelentkezés